Nettle: Functional Reactive Programming of OpenFlow Networks
نویسندگان
چکیده
We describe a language-centric approach to solving the complex, low-level, and error-prone problem of network control. Specifically, we have designed a domain-specific language called Nettle, embedded in Haskell, that allows programming OpenFlow networks in an elegant, declarative style. Nettle is based on the principles of functional reactive programming (FRP), and as such has both continuous and discrete abstractions, each of which is leveraged in the design of Nettle: using the discrete nature of FRP we are able to elegantly capture control messages to and from OpenFlow switches as streams of Nettle events; using the continuous nature of FRP we are able to express dynamic load balancing algorithms in a concise manner, reflecting directly the mathematics of the underlying control system. We have implemented Nettle and tested it on real OpenFlow switches. We demonstrate our methodology by writing several non-trivial OpenFlow controllers.
منابع مشابه
Nettle: Functional Reactive Programming for OpenFlow Networks
We describe a language-centric approach to solving the complex, low-level, and error-prone nature of network control. Specifically, we have designed a domain-specific language called Nettle, embedded in Haskell, that allows programming OpenFlow networks in an elegant, declarative style. Nettle is designed in layers to accommodate a family of DSLs targeted for specific network applications. The ...
متن کاملDon’t Configure the Network, Program It! Domain-Specific Programming Languages for Network Systems
Network operators must configure networks to accomplish critical, complex, and often conflicting requirements: they must ensure good performance while maintaining security, and satisfy contractual obligations while ensuring profitable use of interdomain connections. Unfortunately, today they have no choice but to implement these high-level goals by configuring hundreds of individual network dev...
متن کاملUnifying Packet and Circuit Switched Networks with OpenFlow
There have been many attempts to unify the control and management of circuit and packet switched networks, but none have taken hold. In this paper we propose a simple way to unify both types of network using OpenFlow. The basic idea is that a simple flow abstraction fits well with both types of network, provides a common paradigm for control, and makes it easy to insert new functionality into t...
متن کاملA High Level Rule-based Language for Openflow: A Proof of Concept based on Floodlight
This paper proposes XML-Defined Network policies (XDNP) a new high level language based on XML notation to describe network control rules in Software Defined Network environments. We rely on existing OpenFlow controllers specifically Floodlight but the novelty of this project is to separate complicated languageand framework-specific APIs from policy descriptions. This separation makes it possib...
متن کاملA Scalable Architecture for Openflow Controllers
The architectural principles of Software-Defined Networking (SDN) and its most prominent supporting protocol OpenFlow keep gaining momentum. SDN relies essentially on the decoupling of the control plane from the data plane, placing the former in a logically centralized component to be executed on commodity hardware the SDN controller. OpenFlow’s reactive programming enables the programming of t...
متن کامل